# 使用Python 3.13作为基础镜像
FROM python:3.13-slim

# 设置工作目录
WORKDIR /app

# 定义构建时参数，可以从docker-compose.yml或docker build命令传入
ARG PORT=8001

# 设置环境变量
ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1 \
    PIP_DISABLE_PIP_VERSION_CHECK=1 \
    PORT=${PORT}

# 安装系统依赖
RUN apt-get update && apt-get install -y \
    gcc \
    && rm -rf /var/lib/apt/lists/*

# 安装uv包管理器并配置国内镜像
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple uv

# 复制uv配置文件
COPY uv.toml ./

# 复制环境变量文件
COPY .env ./

# 复制项目文件
COPY pyproject.toml ./
COPY uv.lock ./
COPY main.py ./
COPY Tools/ ./Tools/

# 使用uv安装依赖
RUN uv sync --frozen

# 暴露端口（使用动态端口）
EXPOSE ${PORT}

# 设置入口点
ENTRYPOINT ["uv", "run", "python", "main.py"]